home *** CD-ROM | disk | FTP | other *** search
/ Enter 2002 August / EnterCD 8_2002.iso / Internet / Adobe GoLive 6.0 / data1.cab / PF_AppDir_Mod_PageGenerator / Url.java < prev    next >
Encoding:
Java Source  |  2002-03-28  |  2.9 KB  |  123 lines

  1. // ------------------------------------------------------------------
  2. //                                                                        
  3. // Purpose.............:    Url
  4. // Created.............:    May 8, 2001
  5. // Copyright...........:    (c) 2001 by Adobe Systems
  6. //
  7. // ------------------------------------------------------------------
  8.  
  9. import    java.io.*;
  10. import    java.util.ResourceBundle;
  11. import  java.util.Locale;
  12. import  java.net.URLDecoder;
  13.  
  14. /**
  15.  * This class stores the detail information for UrlList class.
  16.  * For example:
  17.  * <pre>
  18.  *   Url url = new Url();
  19.  *   url.setUrl("http://www.adobe.com");
  20.  * </pre>
  21.  *
  22.  * @author  Adobe Systems, Inc.
  23.  * @since 1.0
  24.  */
  25. public class Url {
  26.  
  27.     /** It stores URL string with URL parameter. It is same as in the URL list file. */
  28.     public    String url;
  29.  
  30.     /** It stores URL string as URL decoded. */
  31.     public    String decodedUrl;
  32.  
  33.     /** It stores each directory name in the URL. */
  34.     public    String[] dir;
  35.  
  36.     /** It stores how many level of dir. */
  37.     public    int    level;
  38.  
  39.     /** It stores saving filename specified in URL list file. */
  40.     public    String filename;
  41.  
  42.     /** It stores just URL parameter part from URL. */
  43.     public    String parameter;
  44.  
  45.     /**
  46.      * Initialize
  47.      * @param    void
  48.      * @return    void
  49.      */
  50.     public Url() {
  51.         url = "";
  52.         dir = new String[50];
  53.         level = 0;
  54.         filename = "";
  55.         parameter = "";
  56.     }
  57.     
  58.     /**
  59.      * Set URL
  60.      * @param    fullUrl 
  61.      * @return    void
  62.      */
  63.     public void setUrl(String fullUrl) {
  64.         url = fullUrl;
  65.         try {
  66.             decodedUrl = URLDecoder.decode(fullUrl);
  67.         } catch(Exception e) {
  68.             e.printStackTrace();
  69.         }
  70.  
  71.         int index = 0;
  72.         for (int i = 0; i < 3; i++) {
  73.             if (-1 == (index = fullUrl.indexOf('/', index+1))) {
  74.                 ResourceBundle rb = ResourceBundle.getBundle("PageGenerator");
  75.                 System.err.println(rb.getString("unexpectedError"));
  76.                 return;
  77.             }
  78.         }
  79.         dir[level++] = fullUrl.substring(0, index);
  80.         for (int i = index+1; i < fullUrl.length(); i++) {
  81.             if (-1 == (index = fullUrl.indexOf('/', i))) {
  82.                 if (-1 == (index = fullUrl.indexOf('?', i))) {
  83.                     filename = fullUrl.substring(i);
  84.                 } else {
  85.                     filename = fullUrl.substring(i, index);
  86.                     parameter = fullUrl.substring(index);
  87.                 }
  88.                 break;
  89.             } else {
  90.                 dir[level++] = fullUrl.substring(i, index);
  91.                 i = index;
  92.             }
  93.         }
  94.         return;
  95.     }
  96.  
  97.     /**
  98.      * Display class variables
  99.      * @param    void
  100.      * @return    void
  101.      */
  102.     public void print() {
  103.         System.out.println("url       = [" + url + "]");
  104.         System.out.println("decodedUrl= [" + decodedUrl + "]");
  105.         System.out.println("level     = [" + level + "]");
  106.         for (int i = 0; i < level; i++) {
  107.             System.out.println("dir[" + i + "]    = [" + dir[i] + "]");
  108.         }
  109.         System.out.println("filename  = [" + filename + "]");
  110.         System.out.println("parameter = [" + parameter + "]");
  111.     }
  112.  
  113.     /**
  114.      * Display string
  115.      * @param    s Strings to display
  116.      * @return    void
  117.      */
  118.     private static void print(String s) {
  119.         System.out.println(s);
  120.     }
  121. }
  122.  
  123.